package com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.casualtiesPE.service;

import com.css.fxfzfxqh.modules.buildingKilometerGrid.exceptions.BizException;
import com.css.fxfzfxqh.modules.buildings.calculationTasks.entity.CalculationTasks;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.entity.Statistics;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.AssessParam;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.casualtiesPE.entity.CasualtiesPE;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.casualtiesPE.entity.CasualtiesPECalculation;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.casualtiesPE.param.CasualtiesPECalculationParam;
import com.css.fxfzfxqh.modules.singleIndexRiskZoning.model.entity.FxqhAssessPdQhResult;

import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;

public interface CasualtiesPEService {
    void addAssess(CasualtiesPE param);

    CasualtiesPE findById(String id);

    void upDateAssess(CasualtiesPE param);

    String getCode(CasualtiesPE param);

    Map<String, Object> getPage(int curPage, int pageSize, AssessParam param);

    void calculation(String taskId,String year) throws Exception;

    String reportImport(InputStream inputStream, String type, String id,String years,String code);

    void exportData(HttpServletResponse response, CasualtiesPECalculationParam param);

    Map<String, Object> queryCalculation(int curPage,int pageSize,String id, String casualties, String time,String years);

    void updateCorrectionValue(CasualtiesPECalculation param);

    List<FxqhAssessPdQhResult> doZoning(CalculationTasks calculationTasks) throws UnsupportedEncodingException, BizException;

    List<Statistics> statistics(String taskId, String casualties, String time);
}
